João Távora [Wed, 18 Aug 2021 23:48:26 +0000 (00:48 +0100)]
Section by 'group-function' in Icomplete and Fido's vertical modes
Fixes: bug#48545
* lisp/icomplete.el (icomplete--augment): Rewrite from icomplete--affixate.
(icomplete--render-vertical): Rework.
(icomplete--vertical-minibuffer-setup): Separator is hardcoded "\n", no
need to set.
João Távora [Thu, 19 Aug 2021 10:04:37 +0000 (11:04 +0100)]
Improve fix of bug#49888 on no-pattern flex sorting
This version is functionally equivalent, but doesn't duplicate any
code. When nothing "flexy" is happening, it works by simply not doing
any metadata adjustments, instead of attempting to synthesize a
function to mimic the non-flex case.
* lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.
Dmitry Gutov [Thu, 19 Aug 2021 00:57:58 +0000 (03:57 +0300)]
Fix vc-root-diff broken with Git as well
* lisp/vc/vc.el (vc-root-diff): Fix similar to
35023214031e1 by
avoiding the abbreviated directory name in argument (bug#39452).
Eli Zaretskii [Wed, 18 Aug 2021 19:07:30 +0000 (22:07 +0300)]
Improve documentation of 'assoc'
* doc/lispref/lists.texi (Association Lists):
* src/fns.c (Fassoc): Document how TESTFN is called. (Bug#50110)
Glenn Morris [Wed, 18 Aug 2021 18:50:42 +0000 (11:50 -0700)]
; Fix paren typo
Juri Linkov [Wed, 18 Aug 2021 17:02:39 +0000 (20:02 +0300)]
* lisp/progmodes/xref.el (xref--collect-matches): Widen temporarily.
Juri Linkov [Wed, 18 Aug 2021 17:01:03 +0000 (20:01 +0300)]
* lisp/mouse.el: More fixes for context-menu.
(context-menu-map): Remove menu title "Context Menu" (bug#50067).
(context-menu-minor): Reverse sub-menus to display exactly in the same order
as on the menu bar.
Eli Zaretskii [Wed, 18 Aug 2021 16:10:01 +0000 (19:10 +0300)]
Improve documentation of last change.
* etc/NEWS: Mention the string value of 'auto-composition-mode'.
* src/composite.c (syms_of_composite) <auto-composition-mode>: Doc
fix.
Lars Ingebrigtsen [Wed, 18 Aug 2021 14:24:40 +0000 (16:24 +0200)]
Disable auto compositions on the Linux console only
* lisp/term/linux.el (terminal-init-linux): Disable auto
compositions on "linux" consoles (bug#21363).
* src/composite.c (inhibit_auto_composition): New function to
implement this.
(composition_compute_stop_pos, composition_adjust_point)
(Ffind_composition_internal): Use it.
(syms_of_composite): Document it.
* src/lisp.h: Export tty_type_name.
* src/term.c (tty_type_name): Factored out.
(Ftty_type): Use it.
Lars Ingebrigtsen [Wed, 18 Aug 2021 13:32:19 +0000 (15:32 +0200)]
Add undo-in-region test case for bug#21523
Eli Zaretskii [Wed, 18 Aug 2021 13:14:29 +0000 (16:14 +0300)]
Yet another place inside redisplay_window to prevent quitting
* src/xdisp.c (handle_single_display_spec): Inhibit quitting
around the call to lookup_image. (Bug#44448)
Eli Zaretskii [Wed, 18 Aug 2021 13:01:57 +0000 (16:01 +0300)]
Fix abort when turning on Hebrew or Arabic input methods
* src/xdisp.c (face_before_or_after_it_pos): Add the missing
initialization of the bidi scan direction. (Bug#50107)
Peter Münster [Wed, 18 Aug 2021 12:53:25 +0000 (14:53 +0200)]
Add menu bindings to new functions in image-dired.el
* lisp/image-dired.el (image-dired--with-marked): New macro for
cycling over marked thumbnails.
(image-dired-tag-thumbnail, image-dired-tag-thumbnail-remove): Can
handle now also all marked thumbnails.
(image-dired-tag-marked-thumbnails): Remove it, because it's
obsoleted by `image-dired-tag-thumbnail' now.
(image-dired-delete-marked): Use new macro
`image-dired--with-marked', and add command to menu (bug#50000).
João Távora [Wed, 18 Aug 2021 10:37:55 +0000 (11:37 +0100)]
; * etc/NEWS (Icomplete): Fix typo and remove redundant word
pillule [Wed, 18 Aug 2021 07:21:06 +0000 (09:21 +0200)]
Fix ediff3 layouts with window-combination-resize non-nil (Bug#49277)
* lisp/vc/ediff-wind.el (ediff-setup-windows-plain-compare)
(ediff-setup-windows-multiframe-compare): Fix three windows
layouts produced by ediff3 when 'window-combination-resize'
was customized to t and 'even-window-sizes' to nil.
pillule [Wed, 18 Aug 2021 07:16:06 +0000 (09:16 +0200)]
Fix behavior when switch-to-prev-buffer-skip is a function (Bug#49275)
* lisp/window.el (switch-to-prev-buffer)
(switch-to-next-buffer): More correctly handle cases where
'switch-to-prev-buffer-skip' is a function.
Basil L. Contovounesios [Tue, 17 Aug 2021 23:54:44 +0000 (00:54 +0100)]
; Fix quoting of braces in electric-tests.el.
Andrea Corallo [Tue, 17 Aug 2021 21:44:12 +0000 (23:44 +0200)]
* Fix `native-compile-target-directory' effectiveness for async compilation.
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward to async
workers `native-compile-target-directory'.
Glenn Morris [Tue, 17 Aug 2021 18:31:09 +0000 (11:31 -0700)]
* lisp/mouse.el (context-menu-filter-function): Fix type.
Eli Zaretskii [Tue, 17 Aug 2021 18:29:58 +0000 (21:29 +0300)]
Another fix for quitting while displaying non-selected windows
* src/xdisp.c (handle_face_prop, extend_face_to_end_of_line):
Inhibit quitting around the call to face_at_pos, to prevent
leaking wrong value of point when the user quits while we
redisplay a non-selected window. (Bug#44448)
Glenn Morris [Tue, 17 Aug 2021 15:53:00 +0000 (08:53 -0700)]
* test/lisp/electric-tests.el: Skip most c-mode tests on hydra.
Eli Zaretskii [Tue, 17 Aug 2021 12:47:10 +0000 (15:47 +0300)]
; * etc/NEWS: Fix wording of a recently added entry.
Eli Zaretskii [Tue, 17 Aug 2021 12:40:05 +0000 (15:40 +0300)]
; Fix a comment in a recent commit.
* lisp/help-mode.el (help-mode-syntax-table): Fix punctuation in a
comment.
Eli Zaretskii [Tue, 17 Aug 2021 12:31:53 +0000 (15:31 +0300)]
Fix TTY display performance degradation due to many markers
* src/coding.c (encode_coding_object): Don't assume that
src_object == dst_object means src_object is the current buffer.
Add the missing commentary that explains the arguments.
(Bug#49127)
Michalis V [Tue, 17 Aug 2021 12:20:57 +0000 (14:20 +0200)]
Improve `forward-sexp' in *Help* buffers
* lisp/help-mode.el (help-mode-syntax-table): New variable (bug#39134).
(help-make-xrefs): Use it to make picking out symbols in curved
quotes work reliably.
(help-xref-on-pp): Ditto.
João Távora [Tue, 17 Aug 2021 12:06:06 +0000 (13:06 +0100)]
Bind <up> and <down> in icomplete-vertical-mode
Suggested by Ergus <spacibba@aol.com>
* lisp/icomplete.el (icomplete-vertical-mode-minibuffer-map): Bind
<up> and <down>
João Távora [Tue, 17 Aug 2021 11:48:37 +0000 (12:48 +0100)]
Jump to first,last completion with M-<, M-> in icomplete-vertical-mode
Fixes: bug#49005
Co-authored-by: Simon Lang <simon.lang@outlook.com>
* lisp/icomplete.el (icomplete-backward-completions): Return
non-nil iff something was stepped. Ajust docstring.
(icomplete-forward-completions): Adjust docstring.
(icomplete-vertical-goto-first, icomplete-vertical-goto-last): New commands.
(icomplete-vertical-mode-minibuffer-map): Bind new commands to M-< and M->.
Juri Linkov [Tue, 17 Aug 2021 08:11:35 +0000 (11:11 +0300)]
Merge branch 'feature/context-menu'
Dmitry Gutov [Tue, 17 Aug 2021 01:07:19 +0000 (04:07 +0300)]
ruby-mode imenu: Support methods with modifiers
* lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
Support methods with modifiers (visibility or otherwise)
(bug#50079).
Dmitry Gutov [Tue, 17 Aug 2021 00:32:12 +0000 (03:32 +0300)]
vc-git-region-history: Fix to call 'diff' more correctly
* lisp/vc/vc-git.el (vc-git-region-history):
Fix to pass a list to the backend 'diff' command (bug#39452).
João Távora [Mon, 16 Aug 2021 22:15:12 +0000 (23:15 +0100)]
Make icomplete-vertical-mode take immediate effect (bug#49075)
* etc/NEWS: Mention change.
* lisp/icomplete.el (icomplete-vertical-mode):
(fido-vertical-mode): Tweak docstring. Turn on
icomplete-mode. and fido-mdoe
Stephen Berman [Mon, 16 Aug 2021 20:55:50 +0000 (22:55 +0200)]
; Fix menu entry alignment of last change
* doc/lispref/elisp.texi (Top): Fix alignment.
Glenn Morris [Mon, 16 Aug 2021 19:34:53 +0000 (12:34 -0700)]
* test/Makefile.in: Verbose logging for electric-tests on hydra.
Eli Zaretskii [Mon, 16 Aug 2021 19:06:26 +0000 (22:06 +0300)]
Plug another hole for longjmp-ing from 'redisplay_window'
* src/fringe.c (update_window_fringes): Inhibit quitting, so as
not to longjmp out of redisplay_window. (Bug#44448)
Stephen Berman [Mon, 16 Aug 2021 17:13:53 +0000 (19:13 +0200)]
Add Command Modes to Elisp manual menu and add index entries
* doc/lispref/commands.texi (Command Modes): Add index entries.
* doc/lispref/elisp.texi (Top): Add entry for the Command Modes
node to the detailed node listing.
Eli Zaretskii [Mon, 16 Aug 2021 17:11:33 +0000 (20:11 +0300)]
Fix recent documentation additions
* doc/lispref/searching.texi (Search and Replace): Document the
new functions by @defun.
Glenn Morris [Mon, 16 Aug 2021 15:01:03 +0000 (08:01 -0700)]
Merge from origin/emacs-27
9664ee182c (origin/emacs-27) C++ Mode: Don't confuse the pointer oper...
b3aec9ee48 CC Mode: Fix unstable fontification of doc strings.
# Conflicts:
# lisp/progmodes/cc-fonts.el
Lars Ingebrigtsen [Mon, 16 Aug 2021 13:40:43 +0000 (15:40 +0200)]
Make overlays-in treat zero-length overlays at point-max consistently
* doc/lispref/display.texi (Finding Overlays): Adjust documentation.
* src/buffer.c (overlays_in): Treat the end of the buffer and the
end of the narrowed-to buffer the same (bug#19422).
(Foverlays_in): Adjust doc string.
Lars Ingebrigtsen [Mon, 16 Aug 2021 12:49:19 +0000 (14:49 +0200)]
Fix cursor movement on the Linux console with certain characters
* lisp/term/linux.el (terminal-init-linux): Switch off
auto-compositions, because they confuse cursor movement on the
Linux console (bug#21363).
Lars Ingebrigtsen [Mon, 16 Aug 2021 12:24:53 +0000 (14:24 +0200)]
Minor clarification for define-minor-mode :variable
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
* doc/lispref/modes.texi (Defining Minor Modes): Clarify what the
setter function should do (bug#14875).
Clément Pit-Claudel [Mon, 16 Aug 2021 12:10:41 +0000 (14:10 +0200)]
Remove prettification for \par in tex-mode
* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Remove
prettified version of `\par'. Many fonts don't display anything for
the character it was mapped to (#x2029 PARAGRAPH SEPARATOR), so
enabling prettification makes every `\par' disappear (bug#50073).
Mattias Engdegård [Mon, 16 Aug 2021 09:37:19 +0000 (11:37 +0200)]
; * test/lisp/vc/diff-mode-tests.el: Remove useless \
Lars Ingebrigtsen [Mon, 16 Aug 2021 11:20:35 +0000 (13:20 +0200)]
Add new functions to replace strings/regexp in a region
* doc/lispref/searching.texi (Search and Replace): Document them.
* lisp/subr.el (replace-string-in-region)
(replace-regexp-in-region): New functions.
* lisp/emacs-lisp/shortdoc.el (regexp, buffer): Mention them.
Lars Ingebrigtsen [Mon, 16 Aug 2021 11:17:25 +0000 (13:17 +0200)]
Don't remove `fontified' in nxml--buffer-substring-filter
* lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Removing
`fontified' is probably unnecessary (bug#50061).
Dmitry Gutov [Mon, 16 Aug 2021 00:13:30 +0000 (03:13 +0300)]
Fix regressions in the last change
* lisp/vc/vc-git.el (vc-git-register):
Use file names verbatim with 'git update-index', as it only accepts
file names, not pathspecs (bug#39452).
* lisp/vc/vc.el (vc-print-root-log):
Expand ROOTDIR, so that vc-git-print-log doesn't receive an
abbreviated name. Literal pathspecs don't work with those.
Alan Mackenzie [Sun, 15 Aug 2021 19:43:58 +0000 (19:43 +0000)]
C++ Mode: Don't confuse the pointer operator -> with the type indicating ->
This fixes bug #47468.
* lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): While searching
backwards for "->" which is a type indicating operator, disallow also commas.
Alan Mackenzie [Sun, 15 Aug 2021 18:08:25 +0000 (18:08 +0000)]
CC Mode: Fix unstable fontification of doc strings.
Also optimize a loop over several line doc-comments.
* lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): New variable
comment-mid, used as the starting point for applying c-doc-face-name in a
line comments. In block comments, apply this face not from `comment-beg' but
from `region-beg', no earlier than the start of the fontification region.
Juri Linkov [Sun, 15 Aug 2021 16:27:06 +0000 (19:27 +0300)]
Use map-keymap in context-menu-global, context-menu-local, context-menu-minor
Juri Linkov [Sun, 15 Aug 2021 16:18:05 +0000 (19:18 +0300)]
* lisp/simple.el (shift-select-mode): Add new choice 'permanent' (bug#50038).
(handle-shift-selection): Handle new choice 'permanent'.
Juri Linkov [Sun, 15 Aug 2021 16:15:42 +0000 (19:15 +0300)]
* lisp/tab-bar.el (tab-bar-new-button-show): Make variable obsolete.
Stefan Monnier [Sun, 15 Aug 2021 14:18:08 +0000 (10:18 -0400)]
* lisp/nxml/nxml-mode.el (nxml-mode): Use add-function
This avoids calling the internal function `buffer-substring--filter`
from `nxml.el`.
(nxml--buffer-substring-filter): Adjust accordingly.
Lars Ingebrigtsen [Sun, 15 Aug 2021 13:43:35 +0000 (15:43 +0200)]
Filter out rng-state elements in nxml-mode buffers from the kill ring
* lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Filter
out `rng-state' objects (bug#50061).
(nxml-mode): Set `filter-buffer-substring-function'.
João Távora [Sun, 15 Aug 2021 12:19:59 +0000 (13:19 +0100)]
Sort by recency in flex completion style when no flexy stuff happening
Fixes: bug#49888
* minibuffer.el (completion--flex-adjust-metadata): Fall back to usual
alphanumeric, length, recency strategy if no minibuffer input. There
is still a bug indicated by the nearby FIXMEs, though.
Augusto Stoffel [Sun, 15 Aug 2021 12:00:49 +0000 (14:00 +0200)]
Allow evaluating Python code across machines
* python.el (python-shell-send-string): Ensure that the temporary file
is created in the host running the Python process (bug#50057).
Lars Ingebrigtsen [Sun, 15 Aug 2021 11:36:24 +0000 (13:36 +0200)]
Run execute-extended-command key binding suggestion from a timer
* lisp/simple.el (execute-extended-command): Run the key binding
suggestion from a timer instead of in the program flow -- this
allows `post-command-hook' to be executed immediately (bug#50042).
Lars Ingebrigtsen [Sun, 15 Aug 2021 11:25:18 +0000 (13:25 +0200)]
Make Emacs compile with musl instead of glibc
* src/alloc.c: musl doesn't have malloc_info (bug#50058).
Eli Zaretskii [Sun, 15 Aug 2021 11:18:17 +0000 (14:18 +0300)]
; * src/xdisp.c (display_mode_lines): Fix comment.
Eli Zaretskii [Sun, 15 Aug 2021 11:11:23 +0000 (14:11 +0300)]
Fix unwarranted point movement after C-g
When the same buffer is displayed in more than one window,
redisplay temporarily moves point to the window-point when it
works on non-selected windows. If we allow C-g to quit out of
redisplay_window in this situation, point will appear to have
moved to the window-point of that non-selected window, which is
unwarranted. These changes prevent quitting in strategic places,
so that we never quit out of redisplay_window.
* src/xdisp.c (run_window_scroll_functions):
Prevent quitting while running window-scroll-functions, so that we
don't quit out of redisplay_window with temporarily moved point.
(redisplay_window): While redisplaying the mode line, prevent
quitting, to avoid exiting while point is temporarily moved.
(decode_mode_spec): Use safe_call1 instead of call1, to trap any
errors instead of letting them throw out of redisplay. (Bug#44448)
Masahiro Nakamura [Sun, 15 Aug 2021 09:54:56 +0000 (11:54 +0200)]
Mark up commands in shortdoc.el for modes
* lisp/emacs-lisp/shortdoc.el: Add command mode tagging
(bug#50064).
João Távora [Sun, 15 Aug 2021 08:12:23 +0000 (09:12 +0100)]
Fix bug#50063 when using icomplete-fido-kill with C-x p p
C-x p p utilizes a completion table "category" which is 'project-file'
icomplete-fido-kill only functioned for 'buffer' and 'file', and
failed with a non-informative message when something else was used.
* lisp/icomplete.el (icomplete-fido-kill): Support 'project-file'
class. Use cl-case, instead of pcase.
Wolfgang Scherer [Sun, 15 Aug 2021 01:02:23 +0000 (04:02 +0300)]
Fix vc-git-state for filenames with wildcards
* lisp/vc/vc-git.el: (vc-git--literal-pathspec-inner),
(vc-git--literal-pathspec), (vc-git--literal-pathspecs) new functions
to add ":(literal)" pathspec magic (bug#39452).
(vc-git-registered), (vc-git-state), (vc-git-dir-status-goto-stage),
(vc-git-register), (vc-git-unregister), (vc-git-checkin),
(vc-git-find-revision), (vc-git-checkout), (vc-git-revert),
(vc-git-conflicted-files), (vc-git-print-log), (vc-git-diff),
(vc-git-previous-revision), (vc-git-next-revision),
(vc-git-delete-file), (vc-git-rename-file) functions
vc-git--literal-pathspec, vc-git--literal-pathspecs applied.
Dmitry Gutov [Sun, 15 Aug 2021 00:45:42 +0000 (03:45 +0300)]
Revert "Bind the GIT_LITERAL_PATHSPECS environment variable"
This reverts commit
a2d0ff26005c5c10ffe0d84bd8b458a06828be82.
It was found to break a certain use case, and we decided to go with
the other solution (bug#39452).
Lars Ingebrigtsen [Sat, 14 Aug 2021 19:37:32 +0000 (21:37 +0200)]
Mark auto-revert-test02-auto-revert-deleted-file as unstable
* test/lisp/autorevert-tests.el
(auto-revert-test02-auto-revert-deleted-file): This tests fails
about 30% of the time for me.
Eli Zaretskii [Sat, 14 Aug 2021 17:38:05 +0000 (20:38 +0300)]
* src/w32.c (_sys_read_ahead): Pacify a silly compiler warning.
Stefan Monnier [Sat, 14 Aug 2021 16:22:57 +0000 (12:22 -0400)]
* lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Fix bug#50051
This corrects the quite confused conversion to closure done in
commit
a070bd1c8b5213ad469d41dd80d392f924644aed.
Alan Mackenzie [Sat, 14 Aug 2021 14:42:55 +0000 (14:42 +0000)]
* lisp/progmodes/cc-engine.el (c-ml-string-in-end-delim): Rewrite function
Eli Zaretskii [Sat, 14 Aug 2021 14:39:38 +0000 (17:39 +0300)]
Fix 'random' on MS-Windows when integers are wider than 30 bits
* src/w32.c (random): Provide more random bits for MS-Windows
builds with EMACS_INT that is wider than 32 bits. (Bug#32605)
Lars Ingebrigtsen [Sat, 14 Aug 2021 14:08:48 +0000 (16:08 +0200)]
Add a test for netrc folding parsing (bug#25769)
Lars Ingebrigtsen [Sat, 14 Aug 2021 13:50:55 +0000 (15:50 +0200)]
Filter out -L foo labels in diff-hunk-file-names
* lisp/vc/diff-mode.el (diff-hunk-file-names): Filter out "-L foo"
labels (bug#10160).
Lars Ingebrigtsen [Sat, 14 Aug 2021 13:30:17 +0000 (15:30 +0200)]
Revert "Add macro `seq-setq`."
This reverts commit
a8a3fd8f8e27089ac46bf98e534529ff03f679a5.
The same patch was applied twice. Remove the second instance.
Lars Ingebrigtsen [Sat, 14 Aug 2021 13:23:29 +0000 (15:23 +0200)]
Make lm-crack-address less strict
* lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Use
mail-header-parse-address-lax (bug#50049).
Lars Ingebrigtsen [Sat, 14 Aug 2021 13:20:59 +0000 (15:20 +0200)]
Add new functions for lax mail address splitting
* lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Autoload.
* lisp/mail/mail-parse.el (mail-header-parse-addresses-lax)
(mail-header-parse-address-lax): New functions.
Earl Hyatt [Sat, 14 Aug 2021 12:17:55 +0000 (14:17 +0200)]
Add macro `seq-setq`.
* doc/lispref/sequences.texi (seq-setq): Document this macro.
* test/lisp/emacs-lisp/seq-tests.el (test-seq-setq):
Test this macro (bug#50053).
Earl Hyatt [Sat, 14 Aug 2021 12:17:12 +0000 (14:17 +0200)]
Add macro `seq-setq`.
* doc/lispref/sequences.texi (seq-setq): Document this macro.
* lisp/emacs-lisp/seq.el (seq-setq): New macro.
* test/lisp/emacs-lisp/seq-tests.el (test-seq-setq):
Test this macro (bug#50053).
Yikai Zhao [Sat, 14 Aug 2021 11:46:30 +0000 (13:46 +0200)]
Fix memory-report counting of vector/hash table sizes
* lisp/emacs-lisp/memory-report.el (memory-report--object-size-1):
Count element values in vectors and hash tables.
Copyright-paperwork-exempt: yes
Basil L. Contovounesios [Tue, 3 Aug 2021 23:48:50 +0000 (00:48 +0100)]
Fix merging of ambiguous nil maps
* lisp/emacs-lisp/map.el: Bump version to 3.1.
(map--merge): New merging subroutine that uses a hash table in place
of lists, for both efficiency and avoiding ambiguities (bug#49848).
(map-merge): Rewrite in terms of map--merge.
(map-merge-with): Ditto. This ensures that FUNCTION is called
whenever two keys are merged, even if they are not eql (which could
happen until now). It also makes map-merge-with consistent with
map-merge, thus achieving greater overall predictability.
* etc/NEWS: Announce this weakening of guarantees.
* test/lisp/emacs-lisp/map-tests.el (test-map-merge)
(test-map-merge-with): Don't depend on specific orderings. Test
that nil is correctly merged into a plist.
Mattias Engdegård [Fri, 13 Aug 2021 10:47:39 +0000 (12:47 +0200)]
Add font-lock-doc-markup-face (bug#50041)
This face is intended for mark-up syntax and constructs inside text
using font-lock-doc-face; ie, documentation comments and strings in
programming modes.
* lisp/font-lock.el (font-lock-doc-markup-face): New face.
* lisp/cus-theme.el (custom-theme--listed-faces): Add it to the list.
* doc/lispref/modes.texi (Faces for Font Lock): Document it.
* etc/NEWS: Mention it.
Eli Zaretskii [Sat, 14 Aug 2021 07:35:09 +0000 (10:35 +0300)]
; * etc/NEWS: Improve wording of a recent addition.
Alan Mackenzie [Fri, 13 Aug 2021 20:58:30 +0000 (20:58 +0000)]
CC Mode: Fix a bug in yesterday's patch
* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Check
the language has multi-line strings before calling
c-ml-string-opener-at-or-around-point.
Lars Ingebrigtsen [Fri, 13 Aug 2021 13:50:14 +0000 (15:50 +0200)]
Make `debug' reset `inhibit-read-only' while running
* lisp/emacs-lisp/debug.el (debug): Bind `inhibit-read-only' to
nil in case we're in a context that has bound it to t (bug#26947).
Lars Ingebrigtsen [Fri, 13 Aug 2021 13:37:21 +0000 (15:37 +0200)]
Adjust previous diff-changed-unspecified change
* lisp/vc/diff-mode.el (diff-changed-unspecified): Adjust the
definition to Emacs 28 (bug#26969).
Lars Ingebrigtsen [Fri, 13 Aug 2021 13:35:49 +0000 (15:35 +0200)]
Add new face diff-changed-unspecified
* lisp/vc/diff-mode.el (diff-changed-unspecified): New face.
(diff-font-lock-keywords): Use it (bug#26969).
Lars Ingebrigtsen [Fri, 13 Aug 2021 12:44:30 +0000 (14:44 +0200)]
permanently-enabled-local-variables doc string clarification
* lisp/files.el (permanently-enabled-local-variables): Clarify
what kind of local variables this refers to.
Lars Ingebrigtsen [Fri, 13 Aug 2021 11:38:38 +0000 (13:38 +0200)]
Make info-look search harder for the Python info file
* lisp/info-look.el (python-mode): Try harder to find the correct
info file (bug#31405).
Lars Ingebrigtsen [Fri, 13 Aug 2021 11:19:39 +0000 (13:19 +0200)]
Fix problem where an error would change standard-output
* src/keyboard.c (cmd_error): Don't set
standard-output/standard-input (bug#30529). Instead bind them
temporarily while handling the error.
Lars Ingebrigtsen [Fri, 13 Aug 2021 11:06:33 +0000 (13:06 +0200)]
Unknown line endings in filepos-to-bufferpos/bufferpos-to-linepos
* lisp/international/mule-util.el (filepos-to-bufferpos): Give
better errors on `exact' with unknown line endings, and guess at
Unix if `approximate' (bug#36573).
(bufferpos-to-filepos): Ditto.
Lars Ingebrigtsen [Fri, 13 Aug 2021 10:28:55 +0000 (12:28 +0200)]
Remove :group from defcustoms in image-dired.el
* lisp/image-dired.el: Remove :group from the defcustoms throughout.
Peter Münster [Fri, 13 Aug 2021 10:25:27 +0000 (12:25 +0200)]
Don't disable transient mark mode when changing image faces
* lisp/image-dired.el (image-dired-thumb-update-marks): Keep the
mark state when changing faces. (bug#49999).
Juri Linkov [Fri, 13 Aug 2021 07:30:20 +0000 (10:30 +0300)]
* lisp/tab-bar.el (tab-bar-history-buttons-show): Remove defcustom.
(tab-bar-format-history): Don't use this recently added variable
because now it's possible to customize the option 'tab-bar-format'
to remove 'tab-bar-format-history' from it that gives the same result.
Juri Linkov [Fri, 13 Aug 2021 07:10:29 +0000 (10:10 +0300)]
Add save-some-buffers-root to save-some-buffers-default-predicate (bug#46374)
* lisp/files.el (save-some-buffers-default-predicate): Add choice
'save-some-buffers-root'.
(save-some-buffers-root): New predicate function.
(save-some-buffers): Check if 'pred' returns a lexically-bound lambda,
then use it as 'pred'.
Thanks to Tino Calancha <tino.calancha@gmail.com>
Alan Mackenzie [Thu, 12 Aug 2021 19:04:28 +0000 (19:04 +0000)]
CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language
* lisp/progmodes/cc-defs.el (cadar, caddr, cdddr): Add defsubsts for these for
when they are missing from the host Emacs.
(c-point): Add new `position' 'boll "beginning of logical line".
(c-clear-char-properties): Return the position of the lowest removed
property.
* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Fix for rare case where
LIMIT < START in parse-partial-sexp.
(c-old-beg-rs, c-old-end-rs, c-raw-string-end-delim-disrupted)
(c-raw-string-pos, c-raw-string-in-end-delim, c-depropertize-raw-string)
(c-depropertize-raw-strings-in-region, c-before-change-check-raw-strings)
(c-propertize-raw-string-id, c-propertize-raw-string-opener): Old functions
and variables removed or renamed "raw" -> "ml" and adapted.
(c-old-beg-ml, c-old-1-beg-ml, c-old-end-ml, c-beg-pos, c-end-pos)
(c-ml-string-end-delim-disrupted, c-depropertize-ml-string-delims)
(c-ml-string-delims-around-point,c-position-wrt-ml-delims)
(c-before-change-check-ml-strings, c-after-change-unmark-ml-strings)
(c-maybe-re-mark-ml-string, c-propertize-ml-string-id)
(c-propertize-ml-string-opener, c-depropertize-ml-string)
(c-depropertize-ml-strings-in-region): New functions and variables adapted and
possibly renamed from "raw" -> "ml".
(c-ml-string-make-closer-re, c-ml-string-make-opener-re)
(c-c++-make-ml-string-closer-re, c-c++-make-ml-string-opener-re)
(c-get-ml-closer, c-ml-string-opener-around-point)
(c-ml-string-opener-intersects-region, c-ml-string-opener-at-or-around-point)
(c-ml-string-back-to-neutral, c-ml-string-in-end-delim, c-neutralize-pos)
(c-neutralized-prop): New functions and variables.
* lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Replace
c-font-lock-raw-strings with c-font-lock-ml-strings.
(c-font-lock-ml-strings): New function taking the place of the old
c-font-lock-ml-strings.
* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Move
c-depropertize-CPP to the second item of the C++ entry, and replace
c-before-change-check-raw-strings by c-before-change-check-ml-strings. Add a
new entry for Pike Mode.
(c-before-font-lock-functions): (Replace c-after-change-unmark-raw-strings by
c-after-change-unmark-ml-strings in the C++ entry, and add a new entry for
Pike Mode.
(c-ml-string-backslash-escapes, c-ml-string-non-punc-skip-chars)
(c-ml-string-opener-re, c-ml-string-max-opener-len, c-ml-string-any-closer-re)
(c-ml-string-max-closer-len, c-ml-string-max-closer-len-no-leader)
(c-ml-string-back-closer-re, c-make-ml-string-closer-re-function)
(c-make-ml-string-opener-re-function, c-ml-string-cpp-or-opener-re)
(c-cpp-or-ml-match-offset): New c-lang-defconsts and c-land-defvars.
(c-multiline-string-start-char): Remove the Pike Mode setting.
* lisp/progmodes/cc-mode.el (c-depropertize-CPP): Test for general ml strings
rather than C++ raw strings.
(c-unescaped-nls-in-string-p): Handle languages with ml strings.
(c-clear-string-fences): Fix bug with wrong parenthesisation.
(c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
Adapt for multi-line strings.
Michael Albinus [Thu, 12 Aug 2021 18:09:48 +0000 (20:09 +0200)]
Improve connection type `pipe' for remote processes
* doc/misc/tramp.texi (Remote processes): New subsection "Remote
process connection type".
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
Use `tramp-process-connection-type' as default connection type.
Improve check for `:connection-type'.
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
Use `tramp-process-connection-type' as default connection type.
Improve check for `:connection-type'. Send "stty -icrnl" when
connection type is a pipe.
* lisp/net/tramp.el (tramp-process-connection-type): Allow all
possible values.
(tramp-handle-make-process): Use `tramp-process-connection-type'
as default connection type. Improve check for `:connection-type'.
* test/lisp/net/tramp-tests.el (tramp-test30-make-process): Extend test.
Stefan Monnier [Thu, 12 Aug 2021 17:55:38 +0000 (13:55 -0400)]
* lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Handle multi-addresses
(lm-authors, lm-maintainers): Adjust accordingly.
Basil L. Contovounesios [Thu, 12 Aug 2021 15:35:43 +0000 (16:35 +0100)]
; Fix last change.
Lars Ingebrigtsen [Thu, 12 Aug 2021 15:20:35 +0000 (17:20 +0200)]
Make info-look try to use more recent Python manual
* lisp/info-look.el: Use the Debian-installed python3.9 manual if
it exists (bug#31405).
Lars Ingebrigtsen [Thu, 12 Aug 2021 15:15:47 +0000 (17:15 +0200)]
Further tweak minibuffer-inactive-mode doc string
* lisp/minibuffer.el (minibuffer-inactive-mode): Mention
`minibuffer-exit-hook' (bug#13641).
Lars Ingebrigtsen [Thu, 12 Aug 2021 15:14:36 +0000 (17:14 +0200)]
Improve minibuffer-inactive-mode documentation
* lisp/minibuffer.el (minibuffer-inactive-mode): Clarify when it's
used (bug#13641).
Lars Ingebrigtsen [Thu, 12 Aug 2021 14:50:54 +0000 (16:50 +0200)]
Mention url-handler-mode in the Emacs manual
* doc/emacs/misc.texi (Browse-URL): Mention url-handler-mode
(bug#30389).
* lisp/url/url-handlers.el (url-handler-mode): Improve doc string.
Stefan Monnier [Thu, 12 Aug 2021 15:04:30 +0000 (11:04 -0400)]
* lisp/emacs-lisp/pcase.el (pcase-setq): Align its semantics with `pcase-let`
* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-setq): Rename from
pcase-setq and ajust accordingly.
Lars Ingebrigtsen [Thu, 12 Aug 2021 14:10:57 +0000 (16:10 +0200)]
Add support for Python mode in info-lookup-symbol
* lisp/info-look.el (:mode): Add support for Python mode
(bug#31405).